package com.room.core.util;


import com.room.core.dto.UserInfo;

import java.util.HashMap;
import java.util.Map;

public class UserTokenManage {
    public static Map<String, UserInfo> tokenMap = new HashMap<>();

    /**
     * 生成token，并将token对应的用户信息加入缓存
     * @param userId
     * @param username
     * @param password
     * @return
     */
    public static String generateToken(Long userId, String username, String password){
        String sign = JWTUtil.sign(userId, username, password);
        UserInfo userInfo = UserInfo.builder()
                .id(userId)
                .username(username).build();
        tokenMap.put(sign, userInfo);
        return sign;
    }

    /**
     * 从缓存中根据token取出用户信息
     * @param token
     * @return
     */
    public static UserInfo getUserInfo(String token) {
        return tokenMap.get(token);
    }
}
